#pragma once

class Dealing;
class Trade;

class IDealingHandler
{
public:
	virtual ~IDealingHandler() = 0 {}
	void OnDealing(Dealing const& dealing)
	{
		DoOnDealing(dealing);
	}

	void OnTrade(Trade const& trade)
	{
		DoOnTrade(trade);
	}
private:
	virtual void DoOnDealing(Dealing const& dealing) = 0;
	virtual void DoOnTrade(Trade const& trade) = 0;
};